#include <stdio.h>

/**
 * 一个个冒到后面
 */
void bubble(int *arr, int len)
{
    // 共几趟，最后一个默认有序
    for (int i = 0; i < len - 1; i++)
    {
        // 优化
        int flag = 0;
        // 每趟交换，已经交换过的不用比较
        for (int j = 0; j < len - 1 - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
                flag = 1;
            }
        }
        for (int i = 0; i < 6; i++)
        {
            printf("%d ", arr[i]);
        }
        printf("\n");
        if (flag == 0)
        {
            return;
        }
    }
}

int main()
{
    int arr[] = {
        3,
        7,
        4,
        2,
        6,
        1,
    };
    int arr1[] = {
        1,
        2,
        3,
        4,
        5,
        6,
    };
    bubble(arr, 6);
    for (int i = 0; i < 6; i++)
    {
        printf("%d ", arr[i]);
    }

    return 0;
}